#define _CRT_SECURE_NO_WARNINGS 1

oid merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n) {
    int a1 = 0;
    int a2 = 0;
    while (a1 < m && a2 < n)
    {
        if (nums1[a1] > nums2[a2])
        {
            int start = m - 1;
            while (start >= a1)
            {
                nums1[start + 1] = nums1[start];
                start--;
            }
            nums1[a1] = nums2[a2];
            a2++;
            m++;
        }
        else if ((nums1[a1] < nums2[a2] && nums2[a2] < nums1[a1 + 1]) || nums1[a1] == nums2[a2])
        {
            int start = m - 1;
            while (start >= a1)
            {
                nums1[start + 1] = nums1[start];
                start--;
            }
            nums1[a1 + 1] = nums2[a2];
            a2++;
            m++;
        }
        else
        {
            a1++;
        }
    }
    // if(nums2[a2]>nums1[a1])
    if (nums1[a1] == 0)
    {
        int i = 0;
        // int poi=a1;
        for (i = a2; i < n; i++)
        {
            nums1[a1] = nums2[i];
            a1++;
        }
    }

    // else
    // {
    //     nums1[m+1]=nums2[0];
    // }
    // if(m==0)
    // {
    //     int i=0;
    //     for(i=0;i<n;i++)
    //     {
    //         nums1[i]=nums2[i];
    //     }
    // }
    // else
    // {
    //     nums1[m+1]=nums2[n];
    // }
}